#ifndef __APP_TASK_H_
#define __APP_TASK_H_

#include "stm32f4xx.h"
#include <stdint.h>
#include <stdlib.h>
#include <string.h>

#define MAX_TASKS 10  // 最大支持任务数

// 定义一个任务结构体
typedef struct {
    char name[32];
    uint32_t period;  // 执行周期，以毫秒为单位
    void (*taskFunc)(void *);  // 函数指针
    void *param;  // 函数参数
    uint32_t nextRunTime;  // 下次执行时间
} Task;

// 添加任务函数
int AddTask(const char *name, uint32_t period, void (*taskFunc)(void *), void *param);

// 删除任务函数
int RemoveTask(const char *name);

// 任务调度函数
void TaskScheduler(void);

#endif